package com.tarena.lbs.user.service;

import com.tarena.lbs.base.protocol.exception.BusinessException;
import com.tarena.lbs.user.pojo.param.UserParam;
import com.tarena.lbs.user.pojo.po.UserPO;
import com.tarena.lbs.user.pojo.vo.UserVO;

import java.util.List;

/**
 * 用户核心服务接口
 */
public interface UserService {
    /**
     * 用户注册
     * @param param 注册参数
     */
    void register(UserParam param) throws BusinessException;

    /**
     * 获取当前登录用户详情
     * @return 用户详情VO
     */
    UserVO getById(Long id) throws BusinessException;

    List<UserPO> list(UserParam  param) throws BusinessException;

    void delete(Integer id);

}